02-비용최적화-실행
비용최적화 실행
목표
Cost Explorer 분석 결과를 바탕으로 실제 비용 최적화 작업을 수행하고, 절약 효과를 측정해봅시다.
최적화 우선순위
즉시 적용 가능 (높은 효과 & 낮은 위험)
- 불필요한 리소스 정리 - 즉시 100% 절약
- Elastic IP 릴리스 - 즉시 월 $3.6 절약
- EBS 볼륨 정리 - 즉시 월 $2-5 절약
신중한 검토 필요 (중간 효과 & 중간 위험)
- 인스턴스 타입 최적화 - 10-30% 절약
- Auto Scaling 설정 조정 - 10-20% 절약
1단계: 불필요한 리소스 정리
사용하지 않는 EBS 볼륨 확인
EC2 콘솔에서 확인:
- EC2 콘솔 → 볼륨
- 상태 필터에서
available선택 - 어떤 인스턴스에도 연결되지 않은 볼륨 확인
정리 작업:
- 확실히 불필요한 볼륨만 삭제
- 중요한 데이터가 있는지 사전 확인
- 볼륨 선택 → 작업 → 볼륨 삭제
사용하지 않는 Elastic IP 정리
Elastic IP 확인:
- EC2 콘솔 → Elastic IP
- 연결 상태가 비어있는 IP 확인
- 사용하지 않는 IP → 작업 → Elastic IP 주소 릴리스
주의사항:
- 실습용 고정 IP가 필요한지 확인
- 릴리스 후 다시 할당 시 다른 IP 주소 할당됨
2단계: 인스턴스 사용률 분석
CloudWatch에서 사용률 확인
CPU 사용률 분석:
- CloudWatch → 메트릭 → EC2
- 각 인스턴스의
CPUUtilization확인 - 지난 2주간 평균 사용률 분석
최적화 기준:
- 평균 10% 이하: 더 작은 인스턴스 타입 고려
- 평균 10-30%: 현재 유지
- 평균 60% 이상: 더 큰 타입 고려
메모리 사용률 확인 (참고)
실제 서버에서 확인:
# WAS 서버에 SSH 접속
ssh -i webapp-keypair.pem ec2-user@Web서버-Public-IP
ssh ec2-user@WAS서버-Private-IP
# 메모리 사용률 확인
free -h
top
3단계: Auto Scaling 최적화
현재 설정 검토
Auto Scaling Group 설정 확인:
- EC2 → Auto Scaling 그룹 →
webapp-web-asg - 현재 설정:
- 최소 용량: 1대
- 원하는 용량: 2대
- 최대 용량: 4대
트래픽 패턴 기반 최적화
ALB 요청 수 분석:
- CloudWatch에서 ALB
RequestCount확인 - 실제 트래픽 패턴 분석
- 피크 시간대와 일반 시간대 구분
최적화 설정 (실습 환경 기준):
현재: 최소 1대, 원하는 2대, 최대 4대
최적화: 최소 1대, 원하는 1대, 최대 3대
적용 방법:
- Auto Scaling 그룹 → 편집
- 원하는 용량: 1로 변경
- 최대 용량: 3으로 변경
- 업데이트
절약 효과:
- Web 서버 1대 감소: 월 약 $8 절약
4단계: 스토리지 최적화
EBS 볼륨 최적화
볼륨 사용량 확인:
# 각 서버에서 디스크 사용량 확인
df -h
최적화 방안:
- 사용량이 30% 이하인 경우 볼륨 크기 축소 고려
- gp2 → gp3 변경 고려 (20% 비용 절약)
RDS 스토리지 확인
스토리지 사용률 분석:
- RDS → 인스턴스 선택
- 모니터링 탭에서
DatabaseConnections,FreeStorageSpace확인
5단계: 비용 알람 강화
예산 기반 알람
AWS Budgets 설정:
- Billing → Budgets → 예산 생성
- 예산 유형: 비용 예산
- 예산 이름:
Monthly-Lab-Budget - 예산 금액: $80 (최적화 목표)
- 알람 임계값: 80%, 100%
일일 비용 모니터링
CloudWatch 알람:
- 메트릭: EstimatedCharges
- 조건: 일일 $3 초과 시
- 알람 이름:
Daily-Cost-Alert
6단계: 최적화 결과 측정
최적화 전후 비교
최적화 전 예상 월 비용:
Web 서버 (2대): $17
WAS 서버: $8.5
RDS: $30
ALB: $18
기타: $8
총합: $81.5/월
최적화 후 목표 비용:
Web 서버 (1대): $8.5 (-$8.5)
WAS 서버: $8.5 (유지)
RDS: $30 (유지)
ALB: $18 (유지)
기타: $5 (-$3, 리소스 정리)
총합: $70/월
절약 효과:
- 월 절약액: $11.5 (14% 절약)
- 연간 절약액: $138
1주일 후 효과 측정
Cost Explorer에서 확인:
- 날짜 범위: 최적화 전후 1주일씩
- 세분성: 일별
- 그룹화: 서비스별
완료 체크리스트
리소스 정리
사용률 최적화
Auto Scaling 최적화
모니터링 강화
주의사항
최적화 시 고려사항
성능 영향 최소화:
- 변경 전 반드시 성능 테스트
- 단계적 적용으로 위험 최소화
- 롤백 계획 사전 수립
서비스 연속성:
- 최적화 작업 중 서비스 중단 방지
- Auto Scaling 설정 변경 시 신중한 검토
- 트래픽 증가 대비 여유분 확보
문제 해결
최적화 후 성능 저하 시
즉시 확인사항:
- CPU 사용률이 80% 이상 지속되는지
- 응답 시간이 증가했는지
- 에러율이 증가했는지
대응 방법:
- Auto Scaling 설정을 이전 상태로 복구
- 더 보수적인 설정으로 재조정
- 점진적 최적화 적용
예상보다 절약 효과가 적을 때
원인 분석:
- 숨겨진 비용 요소 확인
- 데이터 전송비 등 간과한 비용
- 리전별 가격 차이
비용최적화 실행 완료
축하합니다! 체계적인 비용 분석과 최적화를 통해 약 10-15%의 비용 절감을 달성했습니다. 이제 지속적인 모니터링을 통해 추가 최적화 기회를 찾아나가세요.
다음 단계: AWS EDU/Archive/조선대학교 AWS 멘토링/Week4-Operations-and-Optimization/03-IAM-정책심화/01-최소권한원칙에서 보안을 위한 IAM 정책을 심화 학습해보겠습니다.
관련 문서: AWS EDU/Archive/조선대학교 AWS 멘토링/Week4-Operations-and-Optimization/02-비용분석및최적화/01-Cost-Explorer-분석, AWS EDU/Archive/조선대학교 AWS 멘토링/Week4-Operations-and-Optimization/03-IAM-정책심화/01-최소권한원칙